package com.comeval.logica;

import com.comeval.modelo.Productopedido;
import com.comeval.persistencia.IProductopedidoDAO;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;

/**
 *
 * @author DianaMarcela
 */
@Stateless
public class LogicaProductopedido implements LogicaProductopedidoLocal {

    @EJB
    private IProductopedidoDAO productopedidoDAO;

    @Override
    public void registrarProductoPedido(Productopedido productopedido) throws Exception {
        if (productopedido == null) {
            throw new Exception("El Producto pedido no tiene informacion");
        }
        Productopedido objProductopedido = productopedidoDAO.consultarPorCodigo(productopedido.getCodigoproductopedido());
        if (objProductopedido != null) {
            throw new Exception("El Producto pedido ya existe");
        }
        productopedidoDAO.registrarProductoPedido(productopedido);
    }

    @Override
    public void modificarProductoPedido(Productopedido productopedido) throws Exception {
        if (productopedido == null) {
            throw new Exception("El Producto pedido no tiene informacion");
        }
        if (productopedido.getCodigoproductopedido() == null) {
            throw new Exception("El Producto pedido debe tener un codigo");
        }
        Productopedido objProductopedido = productopedidoDAO.consultarPorCodigo(productopedido.getCodigoproductopedido());
        if (objProductopedido == null) {
            throw new Exception("El Producto pedido no existe ");
        }
        productopedidoDAO.modificarProductoPedido(productopedido);
    }

    @Override
    public void eliminarProductoPedido(Productopedido productopedido) throws Exception {
        Productopedido objProductopedido = productopedidoDAO.consultarPorCodigo(productopedido.getCodigoproductopedido());
        if (objProductopedido == null) {
            throw new Exception("El Producto pedido no existe ");
        }
        productopedidoDAO.modificarProductoPedido(objProductopedido);
    }

    @Override
    public List<Productopedido> consultarProductoPedido() throws Exception {
        return productopedidoDAO.consultarProductoPedido();
    }

    @Override
    public Productopedido consultarPorCodigo(Long codigoProductoPedido) throws Exception {
        if (codigoProductoPedido == null) {
            throw new Exception("Por favor ingrese el codigo con el que desea buscar");
        }
        return productopedidoDAO.consultarPorCodigo(codigoProductoPedido);
    }

}
